/**
 * @file thread_cfg.h
 * @author Blues Jiang (jiangrn@breo.com.cn)
 * @brief 
 * @version 0.1
 * @date 2021-12-28
 * 
 * @copyright Copyright (c) 2021
 * 
 */

#ifndef _THREAD_CONFIG_H_
#define _THREAD_CONFIG_H_

#include <rtthread.h>
#include "n32g45x.h"

#define THREAD_PRIORITY_LOWEST  1
#define THREAD_PRIORITY_LV1     5
#define THREAD_PRIORITY_LV2     10
#define THREAD_PRIORITY_LV3     15
#define THREAD_PRIORITY_LV4     20
#define THREAD_PRIORITY_LV5     25
#define THREAD_PRIORITY_MAX     32
#define THREAD_PRIORITY_DEFAULT THREAD_PRIORITY_LV2

#define THREAD_STACK_SIZE_SMALL     512
#define THREAD_STACK_SIZE_MIDDLE    1024
#define THREAD_STACK_SIZE_LARGE     2048
#define THREAD_STACK_SIZE_MAX       4096
#define THREAD_STACK_SIZE_DEFAULT   THREAD_STACK_SIZE_MIDDLE

#define THREAD_TIMESLICE_ULTRASHORT 5
#define THREAD_TIMESLICE_SHORT      10
#define THREAD_TIMESLICE_MIDDLE     20
#define THREAD_TIMESLICE_LONG       60
#define THREAD_TIMESLICE_MAX        100
#define THREAD_TIMESLICE_DEFAULT    THREAD_TIMESLICE_SHORT

#endif /* _THREAD_CONFIG_H_ */
